home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d968.lha / PowerSnap / PowerSnap.doc < prev    next >
Text File  |  1994-01-05  |  39KB  |  902 lines

  1.  
  2.  
  3.      
  4.  
  5.  
  6.                            PowerSnap 2.2 User Manual
  7.  
  8.                                   Jan 5, 1994
  9.  
  10.  
  11.  
  12.      PREFACE 
  13.  
  14.         The programs   and   files   in   this   distribution   are  freely
  15.      distributable,  but  are also Copyright (c) Nico Francois. They may be
  16.      freely  distributed  as  long as no more than a nominal fee is charged
  17.      to cover time and copying costs.  
  18.         No commercial  usage  is  permitted without written permission from
  19.      the  author. Everything in this distribution must be kept together, in
  20.      original unmodified form.  
  21.         The above is generally known as freeware.  
  22.  
  23.         If you  have  suggestions  or remarks about this program, or if you
  24.      find any bugs, please let me know.  
  25.  
  26.         Contacting the author: 
  27.  
  28.           Internet:   nico@augfl.be
  29.           FidoNet :   2:292/603.10
  30.           AmigaNet:   39:120/102.10
  31.  
  32.           Snail-mail: Nico François
  33.                       Corbielaan 13
  34.                       B-3060 Bertem
  35.                       BELGIUM
  36.  
  37.         If you  can  please use e-mail. That way you'll stand a much better
  38.      chance of getting a reply quickly.  
  39.  
  40.         NOTE: PowerSnap  2.2 requires Kickstart and Workbench 2.0 or higher
  41.      to run! 
  42.  
  43.  
  44.      1. Introduction 
  45.      --------------- 
  46.  
  47.         Snap, snap,  snap,  snap, eggs and snap :-)  Ahem...  (If you don't
  48.      get  this  don't  let  it bother you if you think I've gone completely
  49.      bananas :-) 
  50.  
  51.         PowerSnap is  a  utility  that  allows you to use the mouse to mark
  52.      characters  anywhere on the screen and paste them somewhere else, like
  53.      in  the  CLI  or in a string gadget. PowerSnap will check what font is
  54.      used  in  the  window  you snap from and will look for the position of
  55.      the  characters  automatically.  It  recognizes  all  non proportional
  56.      fonts  of  up to 24 pixels wide and of any height so this should cover
  57.      most  fonts  used.  Snapping and pasting text is done using the mouse,
  58.  
  59.  
  60.                                      Page 1
  61.  
  62.  
  63.      
  64.  
  65.  
  66.      making PowerSnap fast and easy to use.  
  67.         To try  PowerSnap out, double-click its icon, move the mouse over a
  68.      character  on  the  screen,  press  the left Alt key and while keeping
  69.      this  pressed  press  the  left  mouse  button.  After  a  short delay
  70.      (depends  on  how  big  the  font  is) PowerSnap will either flash the
  71.      screen,  indicating  it  hasn't found a character at this position (it
  72.      is  possible  PowerSnap  didn't  look  for  the  correct font), or the
  73.      character  you  are pointing at will be selected. Move the mouse while
  74.      keeping  the  left  Alt  key  and the mouse button down to select more
  75.      characters.  Once  you  are  satisfied  with  what  you  have selected
  76.      release  the  left  Alt key. You can now insert the text you have just
  77.      snapped  by  pressing  either  left  Alt + V or left Alt + right mouse
  78.      button.  
  79.         Both the   left  Alt  and  the  V  keys  mentioned  in  this  short
  80.      explanation   are   user-definable  (see  below).  Also,  don't  start
  81.      snapping  on  a  space because PowerSnap will almost certainly get the
  82.      character  positions  wrong.  You CAN start snapping on a space if you
  83.      have already snapped in the window.  
  84.         New to  PowerSnap  2.1  is the ability to keep a history of snapped
  85.      strings.  You may select from this history to re-paste something.  
  86.         PowerSnap 2.2  adds many new features, among which a font-sensitive
  87.      localized GUI, crawling ants and a possibility to save the settings.  
  88.  
  89.  
  90.      2. Installation 
  91.      --------------- 
  92.  
  93.         To install  PowerSnap  automatically use the installation script or
  94.      install  the  handler  manually by copying 'PowerSnap-handler' to your
  95.      L:  directory.   'PowerSnap-handler'  does not have to be in L: but it
  96.      is  best  if you put it there, PowerSnap will also find it if it is in
  97.      the current directory.  
  98.         If you  want  PowerSnap  to be part of your initial startup (so you
  99.      always  have  the comfort of snapping anything anywhere :-) you should
  100.      put  a simple line saying 'PowerSnap' in your 's:user-startup'. If you
  101.      wish  to  specify  options  include  these  on the same line, like for
  102.      example  'PowerSnap  SMARTSPACE  COLOR  2'.  To  disable the copyright
  103.      message redirect output to NIL: like in 'PowerSnap >NIL:'.  
  104.         The easiest  way  to  install  PowerSnap is to simply drag its icon
  105.      into  the  WbStartup  drawer  of  your  boot  disk/partition.  Specify
  106.      options  in  the  icon's  tooltypes (you will want to set the tooltype
  107.      'CX_POPUP=NO').  
  108.         In any case make sure PowerSnap is in your command path! 
  109.  
  110.  
  111.      3. Usage 
  112.      -------- 
  113.  
  114.      3.1 From CLI or Shell 
  115.  
  116.         Enter 'PowerSnap  ?' for a CLI usage template, 'PowerSnap ??' for a
  117.      more detailed usage report.  
  118.  
  119.  
  120.                                      Page 2
  121.  
  122.  
  123.      
  124.  
  125.  
  126.  
  127.         Note: when  PowerSnap  is  run  for  the  first  time  (when  it is
  128.      installed) the settings will be read from its icon.  
  129.  
  130.         Explanation of the options: 
  131.  
  132.      CX_PRIORITY n  : Set priority of commodity (default: 0).  
  133.  
  134.      CX_POPUP YES|NO: Set to NO to not open GUI window when PowerSnap is
  135.                       first installed (default: YES).  
  136.  
  137.      CX_POPKEY desc : Standard description of hotkey to pop up GUI window
  138.                       (default: control lalt p).  
  139.  
  140.      NOGUI          : Don't open GUI settings window.  
  141.  
  142.      QUAL qual      : Set snap qualifier (default: lalt). This is the
  143.                       qualifier that must be down when you press the left
  144.                       mouse button to start snapping. This is also the
  145.                       qualifier for inserting the snapped text. There are
  146.                       two ways to insert snapped text: using the paste key
  147.                       or using the right mouse button.  
  148.  
  149.      SLQUAL qual    : Set single line paste qualifier (default: lalt
  150.                       lshift). When this qualifier is down and you insert
  151.                       snapped text everything will be put on one single
  152.                       line.  All whitespace (spaces and newlines) between
  153.                       words will be changed to a single space. Very useful
  154.                       for inserting a lot of filenames from a directory
  155.                       for example.  
  156.  
  157.      MULTIQUAL qual : Set multisnap qualifier (default: lalt lshift). When
  158.                       you start snapping with this qualifier the snapped
  159.                       text will be appended after what you snapped before.
  160.                       A newline will be placed in between the snapped
  161.                       texts, so they are all on their own line. Paste
  162.                       snapped text using the single line qualifier to get
  163.                       everything on one line. Note that the default single
  164.                       line qualifier and the multisnap qualifier are the
  165.                       same. You can still toggle multisnap on or off when
  166.                       you are already snapping. Just change the qualifier,
  167.                       so in the default setup let go or press down the
  168.                       shift key. There is a small delay of 1/8 sec before
  169.                       toggling the snap mode. This was done so it is less
  170.                       likely that you accidently snap in the wrong mode
  171.                       when you release all qualifiers to stop snapping.  
  172.  
  173.      PASTEKEY c     : Set pastekey (default: V). This key is used to
  174.                       insert the snapped text. Insertion will follow when
  175.                       it is pressed with one of the three possible
  176.                       qualifiers down (QUAL, SLQUAL, PAQUAL).  
  177.  
  178.  
  179.  
  180.                                      Page 3
  181.  
  182.  
  183.      
  184.  
  185.  
  186.      SNAPCHARS      : Start with character snap (default).  
  187.  
  188.      SNAPFRAME      : Start with frame snap. PowerSnap has two snap modes:
  189.                       character and frame.  The easiest to explain is
  190.                       frame snap, you just draw a rectangle and everything
  191.                       inside it will be snapped. Character snap will
  192.                       interpret the screen as lines of text (like an
  193.                       editor) and will snap accordingly.  
  194.  
  195.      [NO]JOIN       : Join mode on/off (default: JOIN). Tells PowerSnap if
  196.                       it's ok to join two lines to a single long line when
  197.                       the first line has a non blank character as its last
  198.                       character. This only works when you are using
  199.                       character, word or line snap.  
  200.  
  201.      [NO]XEROX      : Xerox insert mode on/off (default: NOXEROX). When
  202.                       xerox mode is on snapped text will be inserted
  203.                       immediately when you stop snapping.  
  204.  
  205.      COLOR 1-3      : Set color of select box (default: 1).  This sets the
  206.                       color of the complemented characters or ants.  Try
  207.                       all three and see what you like best.  
  208.  
  209.      MULTICOLOR 1-3 : Set color of multisnap select box or multisnap ants
  210.                       (default: 2).  This sets the color of the
  211.                       complemented characters when doing a multisnap.  It
  212.                       is best to set this to a different color than the
  213.                       normal snap color.  This way you'll have an easy way
  214.                       to see when you are using multisnap.  
  215.  
  216.      PAQUAL qual    : Set pre-/append qualifier (default: lalt control).
  217.                       When using this qualifier to insert snapped text a
  218.                       string will be prepended to each line and one will
  219.                       be appended.  
  220.  
  221.      PREPEND str    : Set prepend string (default: "> "). Use this to set
  222.                       the string that will be prepended when you paste
  223.                       with the PAQUAL down. This string can be up to 16
  224.                       characters long. To enter a '"' in the string escape
  225.                       it with a '*'.  E.g. 'PowerSnap PREPEND " *" "'.  
  226.  
  227.      APPEND str     : Set append string (default: ""). Use this to set the
  228.                       string that will be appended when you paste with the
  229.                       PAQUAL down. Can be up to 16 characters.  
  230.  
  231.      [NO]SMARTSPACE : If you do a word snap PowerSnap will normally guess
  232.                       at the boundaries of the word by simply looking for
  233.                       empty chars. If you switch SMARTSPACE on however
  234.                       PowerSnap will really try to recognize the
  235.                       characters and stop at spaces as well as unknown
  236.                       characters. This way you will no longer snap part of
  237.                       the 'scenery' when doing a word snap. Only drawback
  238.  
  239.  
  240.                                      Page 4
  241.  
  242.  
  243.      
  244.  
  245.  
  246.                       is that it is a bit slower, so it is disabled by
  247.                       default. If you have a faster Amiga (like the A3000)
  248.                       it is strongly recommended to switch this option on.
  249.                       If you don't exactly understand what I mean try
  250.                       snapping the contents of a qualifier text gadget in
  251.                       PowerSnap's settings window with SMARTSPACE switched
  252.                       on and off.  
  253.  
  254.      [NO]ALLFONTS   : If you switch ALLFONTS on PowerSnap will try all
  255.                       open fonts in memory when it is looking for
  256.                       characters. This will make the initial snap much
  257.                       slower (depending on how many fonts are open and how
  258.                       fast your Amiga is of course).  Once a specific font
  259.                       is recognized it is remembered and will be tried
  260.                       first next time you snap. So if you snap the same
  261.                       font several times you won't have the delay each
  262.                       time you snap. The default behaviour is to just
  263.                       consider the window's rastport font. Recognition of
  264.                       the window's rastport font is _not_ slower with
  265.                       ALLFONTS on. So with ALLFONTS off you won't
  266.                       recognize a non-rastport font, and with ALLFONTS on
  267.                       you will, but more slowly.  
  268.  
  269.      HISTORY n      : Set number of lines in history buffer.  PowerSnap
  270.                       will remember the last n snaps.  Pressing Left Alt-H
  271.                       (or whatever you defined to be the history key) will
  272.                       bring up a window with a listview containing these
  273.                       last snaps.  Selecting an entry from the listview
  274.                       will copy the entry to the clipboard so you can
  275.                       paste it again.  The history window is keyboard
  276.                       controllable:  you may use the up and down arrow
  277.                       keys to select an entry.  Press Enter or Return to
  278.                       copy the selected entry to the clipboard, press Esc
  279.                       to cancel.  Default is 0, so no history.  
  280.  
  281.      HISTORYKEY c   : Set the history key (default:  H).  Pressing this
  282.                       key together with the snap qualifier will pop up the
  283.                       history window.  The history window will appear on
  284.                       the active screen.  A safety has been built into
  285.                       PowerSnap to remove this window if the screen it is
  286.                       on closes.  
  287.  
  288.      CHARDELAY n    : Set character paste delay in microseconds (default:
  289.                       1).  Some programs have problems if text is pasted
  290.                       to quickly.  Using CHARDELAY you can tell PowerSnap
  291.                       to add a delay between pasting characters.  The
  292.                       delay is specified in microseconds (1 sec = 1000).
  293.                       I doubt you will have to set this higher than 20.  
  294.  
  295.      LINEDELAY n    : Set line paste delay in microseconds (default:  1).
  296.                       Same as CHARDELAY, but this delay will be added
  297.                       between pasting lines (after pasting a newline).  
  298.  
  299.  
  300.                                      Page 5
  301.  
  302.  
  303.      
  304.  
  305.  
  306.      [NO]ANTS       : Switch ants mode on or off (default: NOANTS).  When
  307.                       ants mode is on PowerSnap will draw a line of
  308.                       crawling ants around the marked text.  
  309.  
  310.      PATTERN x      : 16 bit hexadecimal crawl pattern for the ants
  311.                       (default: EEEE).  Ignored if PowerSnap is not in
  312.                       ants mode.  
  313.  
  314.      MULTIPATTERN x : 16 bit hexadecimal crawl pattern for the ants when
  315.                       multisnapping (default: F8F8).  Ignored if PowerSnap
  316.                       is not in ants mode.  
  317.  
  318.      CLIPUNIT n     : Set clipboard unit (default: 0).  
  319.  
  320.  
  321.         Following qualifiers are recognized: 
  322.  
  323.         lshift       Left shift key
  324.         rshift       Right shift key
  325.         ctrl         Control key
  326.         control      Control key
  327.         lalt         Left alt key
  328.         ralt         Right alt key
  329.         lamiga       Left Amiga key
  330.         lcommand     Left Amiga key
  331.         ramiga       Right Amiga key
  332.         rcommand     Right Amiga key
  333.         midbutton    Middle mouse button (if you have one :-)
  334.  
  335.         Or any   combination   of  these  (separate  the  qualifiers  by  a
  336.      non-alpha  character  like  a  '+', '-' or '|'), e.g. 'lalt+lshift' or
  337.      'lalt-lshift'.  
  338.  
  339.         You may  run  PowerSnap  again once it has been installed to change
  340.      the settings. 'PowerSnap QUIT' will remove the handler from memory.  
  341.  
  342.         Examples: 
  343.  
  344.         o PowerSnap PREPEND "Type " APPEND " OPT N" 
  345.  
  346.         When  you paste some text 'Type ' will be inserted before each line
  347.         and  '  OPT N' after. If you e.g. snap 'PowerSnap.c' and press left
  348.         Alt  Control  V  the  following will be inserted: 'Type PowerSnap.c
  349.         OPT N' 
  350.  
  351.         o PowerSnap QUAL "lshift rshift control" 
  352.  
  353.         This  sets  the  snap qualifier to both Shift keys plus the control
  354.         key.  This  is  a  rather silly example because unless your name is
  355.         Zaphod  Beeblebrox  or  you are very good at doing things with your
  356.         feet  it  is  quite impossible to snap anything with this qualifier
  357.         :^) 
  358.  
  359.  
  360.                                      Page 6
  361.  
  362.  
  363.      
  364.  
  365.  
  366.  
  367.         o PowerSnap PASTEKEY i 
  368.  
  369.         Sets  the  paste  key to 'I' instead of 'V'. So pressing left Alt I
  370.         will feed the text in the clipboard to the keyboard.  
  371.  
  372.      NOTE: - You can toggle between character/frame snap once you have
  373.              started snapping. Just keep the left mouse pressed down while
  374.              you click the right one. Be careful, if you don't keep the
  375.              left button pressed you will insert the text you have
  376.              marked.  
  377.            - PowerSnap has the ability to do word oriented snapping. To
  378.              activate this double-click the left mouse button when you
  379.              start snapping. Note that word snapping forces character
  380.              snapping and frame snapping is no longer possible.  See
  381.              SMARTSPACE on how to improve word snapping.  Tripple-clicking
  382.              the left mouse button will put PowerSnap in line-snap mode,
  383.              this allows you to easily snap whole lines of text.  
  384.            - Press the left mouse button while PowerSnap is inserting to
  385.              abort.  
  386.  
  387.  
  388.      3.2 From Workbench 
  389.  
  390.         PowerSnap recognizes   the   following   tooltypes  (see  CLI/Shell
  391.      options for a more complete explanation): 
  392.  
  393.      CX_PRIORITY=n  : Priority of commodity (default is 0).  
  394.      CX_POPUP=YES|NO: Set to NO to not open GUI window when PowerSnap is
  395.                       first installed. Set this tooltype to NO if you drag
  396.                       PowerSnap into your WbStartup drawer for a quiet
  397.                       startup (default: YES).  
  398.      CX_POPKEY=desc : Standard description of hotkey to pop up GUI window
  399.                       (default: control lalt p).  
  400.      QUAL=qual      : Snap qualifier (default: lalt).  
  401.      SLQUAL=qual    : Single line qualifier (default: lalt lshift).  
  402.      MULTIQUAL=qual : multisnap qualifier (default: lalt lshift).  
  403.      PASTEKEY=c     : Pastekey (default: V).  
  404.      SNAPFRAME      : Start with frame snap.  
  405.      COLOR=1-3      : Color of select box (default: 1).  
  406.      MULTICOLOR=1-3 : Color of multisnap select box (default: 2).  
  407.      NOJOIN         : Join mode off.  
  408.      XEROX          : Xerox insert mode on.  
  409.      PAQUAL=qual    : Pre-/append qualifier (default: lalt control).  
  410.      PREPEND=str    : Prepend string (default: "> ").  
  411.      APPEND=str     : Append string (default: "").  Do *NOT* put quotes
  412.                       around the pre-/append string.  
  413.      SMARTSPACE     : Switch SMARTSPACE on for improved word snapping.  
  414.      ALLFONTS       : Switch ALLFONTS on to try all open fonts in memory.  
  415.      HISTORY=n      : Set number of lines in history buffer (default: 0).  
  416.      HISTORYKEY=c   : Set history key (default: H).  
  417.      CHARDELAY=n    : Set character paste delay in microseconds (default:
  418.  
  419.  
  420.                                      Page 7
  421.  
  422.  
  423.      
  424.  
  425.  
  426.                       1).  
  427.      LINEDELAY=n    : Set line paste delay in microseconds (default: 1).  
  428.      ANTS           : Switch ants mode on.  
  429.      PATTERN=x      : crawl pattern (default: EEEE).  
  430.      MULTIPATTERN=x : crawl pattern for multisnapping (default: F8F8).  
  431.      CLIPUNIT=n     : Set clipboard unit (default: 0).  
  432.  
  433.         Select PowerSnap's  icon  and choose 'Information' from the 'Icons'
  434.      menu.   You  can  now edit PowerSnap's tooltypes, check your Workbench
  435.      manual for more information.  
  436.  
  437.         The provided  PowerSnap  icon  has  the following tooltypes already
  438.      set:  'SMARTSPACE'  and  'ALLFONTS'.   So edit the icon's tooltypes if
  439.      you  want  to  change  these.   All other tooltypes are also listed in
  440.      brackets.   The  brackets  are  used  to  'comment out' a tooltype, so
  441.      remove them if you want to use the tooltype.  
  442.  
  443.         Running PowerSnap  twice  will bring up the settings window. Select
  444.      'Quit'  from this window's 'Project' menu to remove PowerSnap. You can
  445.      also   use   the   system's   Commodities  Exchange  program  to  kill
  446.      PowerSnap.  
  447.  
  448.  
  449.      4. Settings Window 
  450.      ------------------ 
  451.  
  452.         When you  start PowerSnap you will be presented with a window where
  453.      you  can  change all of PowerSnap's settings. You may open this window
  454.      at  any  time by using PowerSnap's hotkey (control lalt p, or whatever
  455.      you  set  using  CX_POPKEY)  or  by  using  the  standard  Commodities
  456.      Exchange program.  
  457.  
  458.         Everything in  this  window  should be fairly self-explanatory.  In
  459.      the  window's  'Project'  menu  you will find 'Hide' and 'Quit' items.
  460.      Selecting  'Hide'  is  the  same  as  using the window's close gadget,
  461.      selecting 'Quit' will remove PowerSnap from the system.  
  462.  
  463.         Most changes  you  make  will  be effective immediately, so you can
  464.      try  them  out  at  once. The qualifiers will only be changed once you
  465.      close the small window used to set them.  
  466.  
  467.         Select 'Save  Settings' from the 'Project' menu to save the current
  468.      settings to PowerSnap's icon.  
  469.  
  470.         Note that  the  code  for  this  window is located in the PowerSnap
  471.      program,  not  in  PowerSnap-handler.  The  window  code  will only be
  472.      loaded  when  actually  needed,  so  PowerSnap  will  use a minimum of
  473.      memory when hidden.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.                                      Page 8
  481.  
  482.  
  483.      
  484.  
  485.  
  486.      5. Features 
  487.      ----------- 
  488.  
  489.        o Fully  supports  the clipboard.device. You can use snapped text in
  490.          all other programs that supports the clipboard.device.  
  491.  
  492.        o Snaps all printable characters, from ' ' (32) to 'ÿ' (255).  
  493.  
  494.        o Supports all keymaps.  
  495.  
  496.        o Uses  a relatively small handler that is about 13K long. PowerSnap
  497.          uses  about  22K  of memory once it is installed (excluding memory
  498.          used by the clipboard.device and commodities.library).  
  499.  
  500.        o Recognizes  all non-proportional fonts to up to 24 pixels wide and
  501.          of   any   height.   Also  recognizes  scaled  fonts  (bitmap  and
  502.          IntelliFonts).  
  503.  
  504.        o Recognizes  plain,  underlined,  bold,  inverse,  bold underlined,
  505.          inverse  underlined,  inverse  bold  and  inverse  bold underlined
  506.          characters :-) 
  507.  
  508.        o Works   with  fonts  with  kerning  data  (like  the  courier.font
  509.          supplied with Workbench 2.0).  
  510.  
  511.        o Will  remember  character  positions  in up to 8 windows. Once you
  512.          have  snapped  in  a window the initial character position will be
  513.          found immediately and you may also start snapping on spaces.  
  514.  
  515.        o Joins long lines.  
  516.  
  517.        o Pre-/appends strings to pasted text.  
  518.  
  519.        o Has  a  single-line  mode  to paste all snapped text onto a single
  520.          line. Whitespace and newlines will be changed to spaces.  
  521.  
  522.        o Supports  a  middle mouse button if your mouse has one.  Using the
  523.          middle  button  as  qualifier  gives the possibility to snap/paste
  524.          without touching the keyboard! 
  525.  
  526.        o Inputhandler   is   written   in   assembly  for  lowest  possible
  527.          overhead.  
  528.  
  529.        New features for PowerSnap 2.0/2.1: 
  530.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  531.        o Has  a  full  intuition/gadtools  interface to allow you to change
  532.          all  settings using the mouse. The window code is loaded from disk
  533.          when needed for minimum memory usage.  
  534.  
  535.        o PowerSnap  is  a  standard commodity. Use the standard Commodities
  536.          Exchange  program  to  enable/disable  it, kill it or to show/hide
  537.          the settings window.  
  538.  
  539.  
  540.                                      Page 9
  541.  
  542.  
  543.      
  544.  
  545.  
  546.  
  547.        o Multisnap  feature.  Allows  you  to  snap something and add it to
  548.          what  you  snapped  before. This append-snapping is very useful to
  549.          pick  up  several  words that you might want to join into one long
  550.          snap.  The snapped items are put in the clipboard, each on its own
  551.          line  (with  a linefeed between them). You can use the single-line
  552.          paste to paste them all onto one line.  
  553.  
  554.        o Recognizes  text  in all colors: text in any color on a background
  555.          of any color will be recognized.  
  556.  
  557.        o SMARTSPACE  feature  to make PowerSnap consider unknown stuff as a
  558.          space.   This  way  you  can  do  _much_  better  word snapping in
  559.          non-shell windows.  
  560.  
  561.        o Can  be  told  to  try  and  recognize  text  in all open fonts in
  562.          memory.   PowerSnap  will  then  recognize  _all_ non-proportional
  563.          fonts  (up  to  24 pixels wide) also if the font is not set in the
  564.          window's rastport.  
  565.  
  566.        o Keeps   an  optional  history  of  snapped  text.   PowerSnap  can
  567.          remember  up  to  99  strings  you snap.  Pressing the history key
  568.          will  cause  a  history  window  to  pop  up and will allow you to
  569.          select a string to be re-pasted.  
  570.  
  571.        New features for PowerSnap 2.2: 
  572.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  573.        o Has a completely font-sensitive and localized user interface.  
  574.  
  575.        o Allows you to save the settings from the GUI.  
  576.  
  577.        o Recognizes text lines with an extra pixel in between.  
  578.  
  579.        o Allows  you  to  specify  the  clipboard  unit  to use.  Clipboard
  580.          loading  and  saving is now implemented using iffparse.library for
  581.          improved compatibility.  
  582.  
  583.        o Optional  crawling  ants  to  mark  the  text being snapped!  Ants
  584.          pattern and color are user-definable.  
  585.  
  586.  
  587.                                                        As always, enjoy! 
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.                                     Page 10
  601.  
  602.  
  603.      
  604.  
  605.  
  606.                                 PROGRAM HISTORY
  607.  
  608.      ********************************************************************** 
  609.      VERSION 1.0 
  610.  
  611.      o First release.  
  612.  
  613.      ********************************************************************** 
  614.      VERSION 1.1 
  615.  
  616.      o Fixed  bug in reading from clipboard. Strange things could happen if
  617.        the  clipboard  did  not  contain  text.  Unknown clips are properly
  618.        ignored  now.   Incompatibility  with 'ConClip' (Workbench 2.0, V37)
  619.        resolved.   Default COLOR changed to 1.  Version string embedded for
  620.        Workbench 2.0 'Version' command.  
  621.      o To  put  the record straight: PowerSnap is not a modified version of
  622.        Snap  (by  Mikael  Karlsson).  It  is a completely different program
  623.        that  does  most  of the things Snap does. A lot of the features and
  624.        ideas  in  PowerSnap  were influenced by (read: stolen from :-) Snap
  625.        though.  I  just  thought  I'd  mention  this  because  some  German
  626.        magazine  almost  convicted  me  for plagiarism, oh boy :^D  I wrote
  627.        PowerSnap  because  I  was not happy with Snap taking up over 80K of
  628.        my precious memory (PowerSnap only uses about 12K).  
  629.      o The  Amiga  would  hang  if  you tried to snap something just when a
  630.        window  was  about  to  close.  Now all the Intuition functions that
  631.        open/close/modify  windows  are  patched  so  they  will  wait until
  632.        snapping   has   finished.  On  Kickstart  2.0,  the  new  Intuition
  633.        functions are also patched.  This should fix all deadlocks.  
  634.      o Tooltype 'QUIET' added for Workbench startup without window.  
  635.      o Tested with Enforcer and Mungwall debugging tools.  
  636.  
  637.      ********************************************************************** 
  638.      VERSION 2.0 
  639.  
  640.        ** ONLY RUNS ON KICKSTART 2.0 OR HIGHER! ** 
  641.  
  642.      o PowerSnap  is  a  commodity  now,  so it can be disabled/enabled and
  643.        killed  using the Commodities Exchange program. Note the replacement
  644.        of  the  'PRIORITY' argument by 'CX_PRIORITY' to set the commodity's
  645.        priority rather than that of the input handler (default is 0).  
  646.      o Now  has  a  hotkey to pop up a GUI window to set the settings. This
  647.        window  allows you to easily change all of PowerSnap's settings with
  648.        the  mouse.   Note  that  the  QUIET  tooltype has been removed. Use
  649.        CX_POPUP=NO now.  
  650.      o Fixed bug: no longer crashes on fonts with LoChar smaller than 32.  
  651.      o PowerSnap's  character  recognition  has  been  improved. Before you
  652.        could  only  snap  black  or  blue text, now you may also snap white
  653.        text.  In  fact  PowerSnap  now  recognizes  text  in any color on a
  654.        background of any color. How could you ever manage without this :) 
  655.      o New  SMARTSPACE  and NOSMARTSPACE arguments. Allows you to switch on
  656.        much  better,  but slower, word-snap detection. Once you get used to
  657.        this  I  think you won't mind it's a bit slower. It is no problem on
  658.  
  659.  
  660.                                     Page 11
  661.  
  662.  
  663.      
  664.  
  665.  
  666.        faster Amigas of course, like the A3000.  
  667.      o New  multisnap  feature: allows you to add what you snap now to what
  668.        you  snapped before. That way you can e.g. snap several files from a
  669.        directory without having to snap them all at once.  
  670.      o PowerSnap  will  now  optionally  consider every font currently open
  671.        instead  of just the window's rastport font. ALLFONTS and NOALLFONTS
  672.        arguments.  
  673.      o Will  abort  the  snap  if you release the snap qualifier before the
  674.        recognition routine has finished.  
  675.      o Allows you to use lamiga, ramiga and ctrl to specify qualifiers.  
  676.  
  677.      ********************************************************************** 
  678.      VERSION 2.0a 
  679.  
  680.      o Error  reporting  improved,  if handler fails to initialize you will
  681.        be informed of the problem (instead of just flashing the display).  
  682.      o Fixed  bug:  if  handler  failed  to  initialize the settings window
  683.        would  appear  and  would  allow you to change settings that weren't
  684.        there :-) 
  685.      o Settings  window  changed to a simple refresh window.  Refreshing is
  686.        a  bit  slower,  but when the window is covered a lot of chip memory
  687.        is saved (especially on screens with a lot of colors/bitplanes).  
  688.      o The  handler  will  now  complain  if it can't find PowerSnap in the
  689.        command path.  
  690.  
  691.      ********************************************************************** 
  692.      VERSION 2.1 
  693.  
  694.      o PowerSnap  now  (optionally)  keeps  a  history  list of all snapped
  695.        text.   It is possible to pick a string from this history list to be
  696.        re-snapped.   Pressing  Left  Alt-H  (or another key you may choose)
  697.        will  bring  up  a  window on the currently active screen containing
  698.        the  snap  history.  This window will be automatically closed if the
  699.        screen it is on closes.  
  700.      o Somebody  reported  he  had  a  problem  when using QMouse (with the
  701.        sunmouse  feature)  and  PowerSnap together.  I have changed the way
  702.        PowerSnap  patches  the window functions of Intuition.  If a program
  703.        tries  to  use  an  Intuition  window  function snapping will now be
  704.        aborted.  This should fix all deadlock problems.  
  705.      o Using  the  middle  mouse button qualifier didn't work.  Fixed.  Now
  706.        you can finally snap and paste without using the keyboard.  
  707.      o On  Kickstart  3.0 the wait pointer in the settings window is set to
  708.        the standard Intuition wait pointer.  
  709.      o Two  new  switches:  CHARDELAY  and  LINEDELAY.  Allow you to set an
  710.        optional    delay    when   pasting   characters   and   lines   (in
  711.        milliseconds).   Default  delay is set to 1 microsecond (ok for most
  712.        programs).   MEmacs  (in  your  Workbench's  Tools  drawer  seems to
  713.        require a character delay of 5).  
  714.      o Recognition  of  underscore  character improved.  PowerSnap will try
  715.        to  be  smart about figuring out wether a character is an underscore
  716.        or an underlined space.  
  717.      o PowerSnap  will  check  the  version of PowerSnap-handler. This will
  718.  
  719.  
  720.                                     Page 12
  721.  
  722.  
  723.      
  724.  
  725.  
  726.        take  care  of  the  problem of an old handler still being installed
  727.        and causing weird things to happen.  
  728.      o Amazingly  stupid  bug  fixed  :)   Seems V37 of commodities library
  729.        doesn't  understand  the  'ctrl'  qualifier  (only 'control').  This
  730.        caused  the  default  popup  key  not  to work on Workbench 2.0.  On
  731.        Workbench  2.1  or  3.0 all worked perfectly.  Default popup key has
  732.        been changed to 'control lalt p'.  
  733.  
  734.      ********************************************************************** 
  735.      VERSION 2.1a 
  736.  
  737.      o New  feature: line snapping.  Tripple clicking the mouse button will
  738.        put  PowerSnap  in  line  snap mode.  This allows you to easily snap
  739.        whole  lines  of  text from a window.  Clicking again will bring you
  740.        back to character/frame snapping.  
  741.      o New  feature:  trailing  spaces  will be automatically stripped from
  742.        each  line  of  snapped  text.  Spaces will not be stripped from the
  743.        last line of text if you are in character snap mode.  
  744.      o Now   refuses   to   quit   when  some  other  program  has  patched
  745.        intuition.library.    Previous   versions   would   blindly  unpatch
  746.        intuition.library   causing  all  sorts  of  strange  and  wonderful
  747.        crashes :-) 
  748.      o PowerSnap  will  now  generate  both  key-down  _and_ key-up events.
  749.        Previously  only  a  key-down  event  was  sent to the input.device,
  750.        confusing some programs.  
  751.      o Bug  fix:  PASTEKEY  and HISTORYKEY arguments didn't work and caused
  752.        enforcer hits.  Fixed.  
  753.      o Bug  fix:  fixed  enforcer hit that occured when settings window was
  754.        popped up (using Commodities Exchange or popup key).  
  755.  
  756.      ********************************************************************** 
  757.      VERSION 2.1b 
  758.  
  759.      o Bug  fix:  inputevents  are now properly cleared before filling them
  760.        in  and  sending them to the input.device.  This should fix problems
  761.        with   corrupted   pastes   a   small   percentage   of   users  was
  762.        encountering.  
  763.      o Word  snapping  improved.   You  may  now  start  word snapping on a
  764.        space.   The space will be included in the snap.  Request from Roger
  765.        Nordin  (or  'a  major  problem' as he calls it).  I hope this makes
  766.        Roger happy :^) 
  767.      o Fixed  the  annoying  'DisplayBeep()  not  going  away  until I stop
  768.        snapping'  problem  :-)  Thanks to Roger Nordin for bugging me about
  769.        this.   This  bug(?)  has  been  in  PowerSnap  from  the day it was
  770.        released but I never bothered to fix it.  
  771.      o History  window  made  keyboard controllable.  Use the up/down arrow
  772.        keys  to  select  an entry.  Press Return or Enter to accept, Esc to
  773.        cancel.   Will  look  best  on  Kickstart  3.0  because the listview
  774.        gadget  uses  a highlight box to show which item is selected, on 2.0
  775.        a text gadget is used.  
  776.      o Changed  some code to use Kickstart 3.0 bitmap/rastport functions if
  777.        possible.  This should improve future compatibility.  
  778.  
  779.  
  780.                                     Page 13
  781.  
  782.  
  783.      
  784.  
  785.  
  786.  
  787.      ********************************************************************** 
  788.      VERSION 2.2 
  789.  
  790.      o PowerSnap  has  been  fully  localized  and has been made completely
  791.        font-sensitive.  
  792.      o New  'Save  Settings'  menu  item.   Allows  you to save the current
  793.        settings  to  PowerSnap's  icon.   These  setting  will be read when
  794.        PowerSnap  is installed, even when PowerSnap is started from the CLI
  795.        or Shell.  
  796.      o Made  PowerSnap  more  RTG friendly.  Snapping should now work under
  797.        the  Workbench  emulation  of  the  Piccolo and EGS Spectrum graphic
  798.        cards (not tested).  
  799.      o Some  programs  use  an  extra  pixel  of spacing between their text
  800.        lines.   PowerSnap will try to sniff this out and will try to adjust
  801.        itself  to  this.   Note  that  this  can never be perfect :(  Start
  802.        snapping  on  a  character that has another character directly below
  803.        it to help PowerSnap recognize such cases.  
  804.      o When  asked  to  quit  PowerSnap will now check the return code from
  805.        SetFunction()  when  removing  its  Intuition  patches,  rather than
  806.        directly  peeking  into  the  library's  jump  table.   Should  work
  807.        perfectly with SetMan now.  
  808.      o Improved  speed  of  text  pasting  by  switching  PowerSnap's  task
  809.        priority back to 0 when inserting.  Strange, but it works :-) 
  810.      o Bug  fix:  PowerSnap  could  go into an infinite loop when some high
  811.        ASCII chars were pasted (for example ª - 0xAA).  
  812.      o New command line switch and tooltype: CLIPUNIT.  
  813.      o Due  to very popular demand I added crawling ants to PowerSnap.  New
  814.        command line switches: ANTS, NOANTS, PATTERN and MULTIPATTERN.  
  815.      o PowerSnap  now  uses  iffparse.library  for the clipboard I/O.  This
  816.        should  improve  compatibility  with  other  software  that uses the
  817.        clipboard.  
  818.      o Keyboard   shortcuts  in  history  window  improved.   Now  supports
  819.        Control-Up/Down and Shift-Up/Down.  
  820.      o Bug  fix: PowerSnap would not recognize the last character of a font
  821.        (typically 'ÿ').  
  822.      o Removed  all  (but  one)  Intuition  patches  and  implemented a new
  823.        anti-deadlock  mechanism.   Snapping will be aborted when a deadlock
  824.        occurs  (for  example  a  program  opening  a  window  while you are
  825.        snapping).  
  826.  
  827.      ********************************************************************** 
  828.  
  829.      PowerSnap 2.2 by Nico François (Yes, Nico is my first name :-) 
  830.  
  831.      Thanks to Jorrit Tyberghein, Ives Aerts, Kenny Grant, Herman Stevens,
  832.      Philip Marivoet, Peter Stuer, Stefan Zeiger, Magnus Holmgren, Roger
  833.      Nordin, Marcus Sommarmyr, Geert Uytterhoeven and Rafael D'Halleweyn
  834.      for testing and the many good suggestions.  
  835.  
  836.      Copyright (c) 1991-1994 Nico François 
  837.  
  838.  
  839.  
  840.                                     Page 14
  841.  
  842.  
  843.      
  844.  
  845.  
  846.                                Table Of Contents
  847.  
  848.                                  PowerSnap 2.2
  849.  
  850.      PREFACE.........................................................    1
  851.  
  852.      1. Introduction.................................................    1
  853.  
  854.      2. Installation.................................................    2
  855.  
  856.      3. Usage........................................................    2
  857.         3.1 From CLI or Shell........................................    2
  858.         3.2 From Workbench...........................................    7
  859.  
  860.      4. Settings Window..............................................    8
  861.  
  862.      5. Features.....................................................    9
  863.  
  864.      PROGRAM HISTORY.................................................   11
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.      
  901.  
  902.